<?php

namespace XWAM\Controller;

/**
 * 控制器基础类
 * 
 * @since 1.0 <2015-3-18> SoChishun <14507247@qq.com> Added.
 */
abstract class AppbaseController extends \Common\Controller\CommonController {

    /**
     * 空操作，用于输出404页面
     * @since 1.0 <2015-3-23> SoChishun Added.
     */
    public function _empty() {
        $this->display('XPage/404');
    }

    public function _initialize() {
        // 站点是否关闭检测
        !C('APP.WEB_SITE_STATUS') || $this->error(C('APP.WEB_SITE_CLOSE_NOTICES'));

        // 检测系统环境
        D('SysEnv')->check();

        // 用户登录检测
        $is_login = user_check_login($this->user_login_data);
        // 合并数据库配置内容到主配置文件中 2015-10-20 SoChishun Added.
        C('VARCONF', D('Addon://POrgSystem/Config')->c());
        if (!$is_login) {
            $url = C('VARCONF.LOGIN_URL');
            if (!$url) {
                throw_exception('插件主配置-登录设置无效!');
            }
            redirect($url);
        }
        // 更新用户在线统计
        //D('Login')->active_online_state($this->user_login_data['id']);
        // 全局模板变量赋值
        //$this->assign('menu_url', U('Menu/get_user_menu', 'addon=PXCallSystem'));
        // 用户登录资料
        $this->assign('login_data', $this->user_login_data);
    }

    /**
     * 通用框架结果(对话框刷新父页面)
     * @param boolean $status 结果状态
     * @param string|array $error 错误消息
     * @param string $success 成功消息
     * @since 1.0 <2015-10-27> SoChishun Added.
     */
    function dialogJump($status, $error = '保存失败!', $success = '保存成功!') {
        if ($status) {
            $this->success($success, '!window.parent.location.reload();');
        } else {
            $this->error(is_array($error) ? implode('<br />', $error) : $error);
        }
    }
    /**
     * 通用框架结果(对话框关闭)
     * @param type $status
     * @param type $error
     * @param type $success
     */
    function dialogClose($status, $error = '保存失败!', $success = '保存成功!') {
        if ($status) {
            $this->success($success, '!$(\'iframe[name="\' + window.name + \'"]\').attr(\'src\', "about:blank").parent().dialog(\'close\');');
        } else {
            $this->error(is_array($error) ? implode('<br />', $error) : $error);
        }
    }
}
